home *** CD-ROM | disk | FTP | other *** search
- #include "fixed.h"
-
- static int cos_table [] =
- {
- #include "costable.h"
- };
-
- void FIX_cos_sin
- (
- angle_t angle,
- fixed * cosine,
- fixed * sine
- )
- {
- while ( angle < 0 )
- angle += 3600;
-
- while ( angle >= 3600 )
- angle -= 3600;
-
- if ( angle < 1800 )
- {
- if ( angle < 900 )
- {
- *cosine = cos_table [angle];
- *sine = cos_table [900-angle];
- }
- else
- {
- angle -= 900;
-
- *sine = cos_table [angle];
- *cosine = -cos_table [900-angle];
- }
- }
- else
- {
- if ( angle < 2700 )
- {
- angle -= 1800;
-
- *cosine = -cos_table [angle];
- *sine = -cos_table [900-angle];
- }
- else
- {
- angle -= 2700;
-
- *sine = -cos_table [angle];
- *cosine = cos_table [900-angle];
- }
- }
- }
-